package com.dayu.recovery.domain;

import java.math.BigDecimal;
import java.util.*;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.dayu.common.annotation.Excel;
import com.dayu.common.core.domain.BaseEntity;

/**
 * 财务账单对象 recovery_bill
 * 
 * @author HK
 * @date 2021-04-16
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class RecoveryBill extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 账单编号 */
    private Long billId;

    @Excel(name = "仓库名称")
    private String stockName;
    /** 商品编码 */
    @Excel(name = "商品编码")
    private String goodsId;

    /** 账单名称 */
    @Excel(name = "账单名称")
    private String billName;

    /** 商品串号 */
    @Excel(name = "商品串号")
    private String goodsSn;

    /** 成本价 */
    @Excel(name = "成本价")
    private BigDecimal costPrice;

    /** 销售价 */
    @Excel(name = "销售价")
    private BigDecimal sellPrice;

    /** 利润 */
    @Excel(name = "利润")
    private BigDecimal profit;

    /** 买家 */
    @Excel(name = "买家")
    private String buyers;

    @Excel(name = "收款账单", dictType = "recovery_bill_payee")
    private String payee;
    /** 支付方式 */
    @Excel(name = "支付方式", readConverterExp = "1=支付宝,2=微信,3=现金,4=多种支付,5=旧机抵扣,6=银行卡")
    private Integer paymentType;

    @Excel(name = "支付详情")
    private String paymentDetail;

    /** 状态 */
    @Excel(name = "状态", readConverterExp = "1=待审核,2=已审核,3=退货,4=作废")
    private Integer status;

    /** 类型 */
    @Excel(name = "类型", readConverterExp = "1=商品出售,2=自定义账单,3=退货账单")
    private Integer type;

    /** 销售用户id*/
    private Long sellUserId;

    @Excel(name = "销售人")
    private String sellBy;

    /** 创建人 */
    private Long createId;
    @Excel(name = "创建人")
    private String createBy;

    @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 修改人 */
    private Long updateId;

    @Excel(name = "更新人")
    private String updateBy;

    @Excel(name = "更新时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @Excel(name = "验机人(旧)")
    private String testUserName;

    @Excel(name = "验机人（新）")
    private String nowTestName;

    @Excel(name = "供应商")
    private String supplierName;

    @Excel(name = "报价师", dictType = "dayu_offer_teach")
    private String offerName;

    @Excel(name = "配送类型", dictType = "recovery_bill_give_type")
    private Integer giveType;

    @Excel(name = "配送单号")
    private String giveNumber;

    @Excel(name = "配送费用")
    private BigDecimal givePrice;

    /** 配件id*/
    private String partsIds;

    @Excel(name = "配件信息")
    private String partsInfo;

    @Excel(name = "配件金额")
    private BigDecimal partsPrice;
}
